____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Disassembler
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Un mwawdisassemblatore o mwbadisassembler Γ¨ un mwbqprogramma che traduce dal mwbglinguaggio macchina al mwbwlinguaggio assembly. Effettua l'operazione inversa di un mwcaassembler.
Contents
β’ Descrizione
β’ Programmi famosi
β’ Voci correlate
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Descrizione
Lmwda'mwdqoutput di un disassembler (detto disassemblato, o mwdwdisassembly) Γ¨ spesso fatto in modo da poter essere facilmente compreso dall'uomo piuttosto che per essere utilizzato come mweainput per un assembler. Similmente, un mweqdecompilatore traduce il mweglinguaggio macchina in un mwewlinguaggio ad alto livello.
Generalmente, in un mwfqcodice sorgente in linguaggio assembly vengono utilizzate le costanti simboliche e i "commenti" del programmatore - annotazioni che sono ignorate dall'assembler ma servono a spiegare ad un altro programmatore cosa il programma fa e in che modo. Le costanti simboliche e i commenti vengono generalmente rimossi dall'assembler. La perdita di queste informazioni rende piΓΉ difficile la comprensione del codice rispetto al codice sorgente originario. In effetti, uno strumento per il disassemblaggio completamente automatico non puΓ² raggiungere in genere risultati molto accurati, poichΓ© il processo di disassemblaggio si riduce ad un famoso problema informatico noto come "problema della fermata" (per il quale Γ¨ stato dimostrato che non esiste un algoritmo che lo risolva). Per questo motivo, i disassembler interattivi avranno sempre una resa migliore rispetto a quelli automatici consentendo all'uomo di utilizzare la sua intelligenza nel processo di disassemblaggio.
Programmi famosi
I disassembler sono tra gli strumenti piΓΉ comunemente utilizzati per il mwgwreverse engineering del software.
Sono stati scritti molti disassembler. Alcuni esempi notevoli includono:
β’ RosASM- mwiaAssembler a mwiq32 bit (disponibile sotto mwiglicenza GPL). Nonostante sia essenzialmente un mwiwassembler, contiene anche un disassembler molto potente (sebbene automatico) che Γ¨ in grado di ricostruire una grande quantitΓ di piccole applicazioni. Il supporto per applicazioni di maggiore dimensione Γ¨ in via di sviluppo.
β’ mwjqInteractive Disassembler Un disassembler commerciale interattivo.
β’ mwjwSourcer - Un altro disassembler commerciale.
Voci correlate
Collegamenti esterni
β’ mwmq(EN) Il disassembly su Wiki, su program-transformation.org. URL consultato il 9 luglio 2005 (archiviato dall'url originale il 22 agosto 2011).
β’ mwmw(EN) Un disassembler per file Java, su java.sun.com.
β’ mwnq(EN) Kopi Project, su dms.at. URL consultato il 9 luglio 2005 (archiviato dall'url originale il 3 giugno 2005).
β’ mwnw(EN) PVDasm, su pvdasm.reverse-engineering.net. URL consultato il 9 luglio 2005 (archiviato dall'url originale il 1ΒΊ maggio 2007).
β’ mwoq(EN) x86 Disassembler Library, su bastard.sourceforge.net.
β’ mwow(EN) BIEW, su biew.sourceforge.net. URL consultato il 28 agosto 2018 (archiviato dall'url originale il 2 luglio 2016).
β’ mwpq(EN) OpenRCE: Various Disassembler Resources and Plug-ins, su openrce.org. URL consultato il 29 aprile 2007 (archiviato dall'url originale il 28 agosto 2008).
β’ mwpw(EN) The free country, su thefreecountry.com.
β’ mwqq(EN) Programmer's heaven, su programmersheaven.com.